Streamflow-Routing Package (STR)

©1995, 1996, Richard B. Winston

Please Register Please Register

Last modified on Wednesday, January 31, 1996 - 7:05:50 PM

Skip forward to Input instructions for the Streamflow-Routing Package.

The original instructions for the Streamflow-Routing Package are on pages 28 to 31 of Prudic (1989).

Introduction: The Streamflow-Routing Package is used to simulate stream-aquifer interactions in a more sophisticated way than the River or Drain packages. However it is not a true surface water flow model. Instead all discharge into a stream segment is instantaneously routed to the next segment downstream. The Streamflow-Routing Package has several capabilities that are lacking in the River and Drain packages. Some of these are:

Just as in the River Package, each stream is divided into reaches each of which correspond to a single cell in MODFLOW. Unlike the River Package, however, those reaches are grouped into segments. Each segment consists of a series of contiguous reaches. segments end where Within each segment, reaches must be numbered sequentially starting at 1 at the upstream end. segments must also be numbered sequentially starting at 1 and any segment (including diversions) which receive flow from another segment must have a higher number than the segment from which it receives flow.

At diversions, flow is diverted from downstream end of one segment into the upstream ends of one or more other segments. A final segment receives all the flow that is not diverted. When setting up the input file, you must list the first segment as a tributary to the final segment. If the amount of flow that is supposed to be diverted is less than the flow in the upstream segment, no flow will be diverted. This can lead to unexpected results. For instance, suppose that the amount of flow to be diverted from segment A into segment B is 1 cfs with the remainder flowing into segment C. If the flow in segment A is 1.01 cfs, the amount diverted will be 1 cfs and 0.01 cfs will continue into segment C. However, if the amount of flow in segment A is 0.99 cfs, no flow will be diverted and 0.99 cfs will continue into segment C. A segment that originates as a diversion can also act as a tributary to another segment just as can any other segment.

Assumptions and Limitations:

When computing the stage, the channel is assumed to be a rectangular channel which is much wider than it is deep. Other geometries can only be accommodated by modifying the source code and recompiling the program.

Streambed conductance is assumed to be constant in the Streamflow-Routing Package. If the width of the stream varies with stage this assumption may be incorrect and the results may be in error for this reason.

Flow between reaches is assumed to occur instantaneously. This is likely to be reasonable for baseflow conditions but may not be accurate enough for stormflow. (Of course, MODFLOW also would not be appropriate for stormflow in most cases because it does not model the unsaturated zone or interflow among other limitations.)

The method used to calculate stage, streamflow and leakage may result in numerical instability especially if stream leakage is a large part of the water budget.

Leakage from the stream to the aquifer is assumed to be instantaneous. This may not be appropriate if the unsaturated zone between the streambed and aquifer is large.

It is up to the user to make sure that all the input data is physically realistic. For example, the model does not forbid uphill streamflow. It's up to the user to make sure that the elevations of all stream reaches are less than or equal to those from which they receive flow.

Go back to Contents.


Input Instructions

All input parameters should be right justified.


Line 1, Spaces 1-10, MXSTRM, Integer

Maximum number of active stream reaches during the simulation. Add up all the reaches in all the segments for each stress period. The maximum number in any stress period is MXSTRM. You can have more than one reach in an individual cell.

Go back to Input instructions for the Streamflow-Routing Package.


Line 1, Spaces 11-20, NSS, Integer

Maximum number of active stream segments during the simulation. Count all the stream segments that occur in each stress period. NSS is the stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Line 1, Spaces 21-30, NTRIB, Integer

NSS is the maximum number of tributary segments that join together to form a single segments NSS must be <= 10. Lines 5+ are only read if NTRIB > 0.

Go back to Input instructions for the Streamflow-Routing Package.


Line 1, Spaces 31-40, NDIV, Integer

If NDIV>0, diversions will be simulated, otherwise no diversions will be simulated. You do not need to specify how many diversions are present in the model. Lines 6+ are only read if NDIV > 0.

Go back to Input instructions for the Streamflow-Routing Package.


Line 1, Spaces 41-50, ICALC, Integer

If ICALC>0, stream stages will be calculated. Lines 4+ are only read if ICALC > 0.

Go back to Input instructions for the Streamflow-Routing Package.


Line 1, Spaces 51-60, CONST, Real Number

A constant used in calculating stage from discharge. It depends on the units used. For m^3/s use 1, for cfs use 1.486. If the time unit for the model is not seconds, multiply 1 or 1.486 by the number of seconds in the time unit of the model Go back to Input instructions for the Streamflow-Routing Package.

Line 1, Spaces 61-70, ISTCB1, Integer

Unlike other packages, in the Streamflow Routing Package there are two cell-by-cell flow terms associated with each cell; flow from the aquifer to or from the stream reach, and flow from one stream reach to another. ISTCB1 is used to specify how the former will be printed or saved. (You must also set ICBCFL in the Output Control option to print or save cell-by-cell flow terms.) Go back to Input instructions for the Streamflow-Routing Package.

Line 1, Spaces 71-80, ISTCB2, Integer

Unlike other packages, in the Streamflow Routing Package there are two cell-by-cell flow terms associated with each cell; flow from the aquifer to or from the stream reach, and flow from one stream reach to another. ISTCB2 is used to specify whether the latter will be saved to a file. (You must also set ICBCFL in the Output Control option to print or save cell-by-cell flow terms.) Go back to Input instructions for the Streamflow-Routing Package.

Lines 2+, Spaces 1-10, ITMP, Integer

Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 2+, Spaces 11-20, IRDFLG, Integer

Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 2+, Spaces 21-30, IPTFLG, Integer

Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 1-5, Layer, Integer

"Layer" is the layer number of the current reach.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 6-10, Row, Integer

"Row" is the row number of the current reach.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 11-15, Column, Integer

"Column" is the column number of the current reach.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 16-20, Segment, Integer

"Segment" is the segment number of the current reach. Each segment consists of a sequence of reaches. A segment does not branch. Where a stream branches a new segment starts. The branches can either be tributaries of diversions. Two or more tributaries can join to form a new segment or one (or more) tributary(ies) can split into one or more diversionary segments and a mainstem. The mainstem is designated by including the upstream segment as its tributary. The diversion is designated by listing the upstream segment as its source in Iupseg (Lines 6+). Segments must be numbered sequentially starting with 1. Any segment which receives flow from another segment must have a higher segment number than the segment from which it receives flow.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 21-25, Reach, Integer

Reach is the number of the current reach within its segment. Within each segment, reaches are numbered sequentially starting with 1 at the upstream end.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 26-40, Flow, Real Number

"Flow" is the streamflow in reach 1 of the current segment. "Flow" is ignored except for reach #1 in each segment. If the flow in the segment will be the sum of the flows from it's tributaries, set "Flow" at -1 for the first reach. If the segment is a diversion, the value of "Flow" in the first reach will be the amount diverted.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 41-50, Stage, Real Number

"Stage" is the stage in the stream. If the program is supposed to calculate the stage (ICALC>0), the value entered here apparently will be ignored although this is not explicitly stated in Prudic (1989).
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 51-60, Cond, Real Number

"Cond" is the streambed hydraulic conductance. It is equal to KLW/M where It has units of (length^2/time).
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= ., Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 61-70, Sbot, Real Number

Sbot is the elevation of the bottom of the stream bed. When the head in the aquifer is below the bottom of the stream bed, recharge of the aquifer by the stream is a constant. Otherwise groundwater flow to or from the stream is a linear function of the difference in head between the aquifer and the stream.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 3+, Spaces 71-80, Stop, Real Number

Stop is the elevation of the top of the stream bed. Stop is used in computing the head in the stream from the discharge. If flow in a reach is 0 and the head in the aquifer is lower than Stop, no discharge from the aquifer to the stream will be calculated.
One copy of Lines 3+ for each reach in each stress period is read. Within each stress period the copies of Lines 3+ are read in sequential order both within and among segments. Lines 3+ are not read if ITMP <= 0, Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 4+, Spaces 1-10, Width, Real Number

"Width" is the channel width. it has units of length and is used in calculating the stage of the river from the discharge.
One copy of Lines 4+ for each reach in each stress period is read. Within each stress period the copies of Lines 4+ are read in sequential order both within and among segments. Lines 4+ are not read if ITMP <= 0 or ICALC <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 4+, Spaces 11-20, Slope, Real Number

"Slope is the channel slope with units of length/length (dimensionless). "Slope" is used in calculating the stage of the river from the discharge.
One copy of Lines 4+ for each reach in each stress period is read. Within each stress period the copies of Lines 4+ are read in sequential order both within and among segments. Lines 4+ are not read if ITMP <= 0 or ICALC <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 4+, Spaces 21-30, Rough, Real Number

"Rough" is the Manning's roughness coefficient. It is used in calculating the stage of the river from the discharge.
One copy of Lines 4+ for each reach in each stress period is read. Within each stress period the copies of Lines 4+ are read in sequential order both within and among segments. Lines 4+ are not read if ITMP <= 0 or ICALC <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 5+, Spaces 1-5, 6-10, etc., Itrib(i), Integer

One copy of Lines 5+ for each segment is read in each stress period is read. Within each stress period the copies of Lines 5+ are read in sequential order in each stress period. Lines 5+ are not read if ITMP <= 0 or NTRIB <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.


Lines 6+, Spaces 1-10, Iupseg, Integer

One copy of Lines 6+ is read for each segment in each stress period is read. The lines must read in sequential order according to the segment numbers. Lines 6+ are not read if ITMP <= 0 or NDIV <= 0. Lines 2+ to Lines 6+ are repeated for each stress period.

Go back to Input instructions for the Streamflow-Routing Package.
Go back to Contents.



©1995, 1996, Richard B. Winston,
rwinsto@lsuvm.sncc.lsu.edu
Dept. of Geology and Geophysics
Louisiana State University
Baton Rouge, La 70803
U.S.A.
504-388-2337
Fax 504-388-2302
http://scribe.geol.lsu.edu/rbwinston.html
ftp://aapg.geol.lsu.edu/pub/winston